#pragma once
#include "baselogicgamemap.h"
class LgSpritePropertyGem;
class LgSpriteGemCarrier;
class BaseLogicSprite;
class LOGICSPRITES_API LgGameMapCollect : public BaseLogicGameMap
{
public:
	LgGameMapCollect(void);
	~LgGameMapCollect(void);
	BaseLogicSprite* CreateGemCarrier(int nCarrierWidth);
	bool GameStart(DWORD dwCurrentTime);
	void AddSpout(int x,int y);
	void FilterGems();
	void UpdateAllLgSprite(DWORD dwCurrentTime);
	unsigned int GetCurrentGem(){return m_nCurrentGem;}
	unsigned int GetCurrentSpoutIdx(){return m_nCurrentSpoutIdx;}
	unsigned int GetWinGemMark(){return m_nGemCount;}
private:
	vector<D3DXVECTOR2> m_vecSpoutsPos;
	vector<LgSpritePropertyGem*> m_vecGems;
	unsigned int m_nGemCount;
	float* m_vfGemsInterval;
	unsigned int m_nCurrentGem;
	unsigned int m_nCurrentSpoutIdx;
	LgSpriteGemCarrier* m_pGem10Ship;
};